home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
32
/
cadence.zip
/
VOL1NO3.ZIP
/
GRAPH.LSP
< prev
next >
Wrap
Text File
|
1986-07-21
|
2KB
|
55 lines
;
; AutoLISP utility function : written by Paul Petersen
; A B Consulting Co., Inc.
; 3939 N 48th
; Lincoln NE, 68504
;
; copyright July 1986
;
; This ACAD command creates the basis for a mathematical function graph.
; It uses a AutoLISP function evaluated at a number of points in the
; defined interval as the data points to plot the function. After the
; graph is drawn it is scaled to the screen and smoothed.
;
; Example
;
; GRAPH Function (QUIT to exit): SIN
; Minimum value: 0.0
; Maximum value: 10.0
; Intervals: 20
;
; (DEFUN DOUBLE (X)
; (* X X))
;
; GRAPH Function (QUIT to exit): DOUBLE
; Minimum value: 0.0
; Maximum value: 10.0
; Intervals: 20
;
(DEFUN C:GRAPH (/ FNC XCOR XMAX STEPS DELTA YCOR CMDSAVE)
(WHILE (NOT (OR (EQUAL FNC (QUOTE QUIT))
(EQUAL (QUOTE SUBR) (TYPE (EVAL FNC)))
(AND (BOUNDP FNC)
(EQUAL 1 (LENGTH (CAR (EVAL FNC)))))))
(SETQ FNC (READ (GETSTRING "Function (QUIT to exit): "))))
(COND ((NOT (EQUAL FNC (QUOTE QUIT)))
(SETQ XCOR (GETREAL "Minimum value: "))
(SETQ XMAX (GETREAL "Maximum value: "))
(SETQ STEPS (GETINT "Intervals: "))
(SETQ CMDSAVE (GETVAR "CMDECHO"))
(SETVAR "CMDECHO" 0)
(SETQ DELTA (/ (- XMAX XCOR) (FLOAT STEPS)))
(SETQ YCOR (APPLY FNC (LIST XCOR)))
(COMMAND "PLINE" (LIST XCOR YCOR))
(REPEAT STEPS
(SETQ XCOR (+ XCOR DELTA))
(SETQ YCOR (APPLY FNC (LIST XCOR)))
(COMMAND (LIST XCOR YCOR)))
(COMMAND "" "ZOOM" "E")
(COMMAND "PEDIT" (LIST XCOR YCOR) "F" "X")
(SETVAR "CMDECHO" CMDSAVE)))
nil)